In an OpenCable Application Platform (OCAP), Conditional Access (CA) is controlled by a hardware device called a cable card. The cable card stores the list of entitlements for a subscriber. These entitlements control access to premium subscription channels (e.g., HBO, Cinemax, etc.) pay-per-view (PPV) services, and system resources such as the hard disk drive used for digital video recording (DVR).
Although OCAP provides a generic way for applications to communicate with the cable card via Specific Application Support (SUS) tunnels, it does not specify the format or semantics of the messages, which are unique to each cable card manufacturer. In order to allow applications to operate with a variety of CA systems, the manufacturer of the cable cards also supplies a library called the Conditional Access Network Handler (CANH).
The Application Programming Interfaces (APIs) through which an application talks to the CANH are defined as part of the OpenCable family of specifications. The API specification for a CANH is technically independent from the OCAP specification, although all cable operators are required to download and make this library available to privileged applications at run time. An example of such an arrangement is illustrated in FIG. 1.
In a physical deployment of a cable environment, the CANH and its associated library of functions published at the CANH API is initialized by a Monitor application, which is a privileged application that is created and downloaded by the cable operator. After initialization, the CANH library is accessible to other applications that wish to make use of it, such as the program guide or navigator application.
It is a desire to have an OCAP Application Development Environment which allows engineers to develop and test applications, such as the monitor applications without access to a head-end or cable card. Currently, there are two problems which prevent this from occurring:
First, existing applications rely on a CANH library to query various system and program entitlements. However, available CANH libraries are tied to specific models of physical cable cards. Currently deployed OCAP emulators do not have a cable card present; therefore, applications cannot run in those simulation environments.
Secondly, OCAP set-top devices have not historically been able to operate without both a cable cards and head-end present. Even though more recent firmware releases have made operation possible absent a head-end, the absence of the cable cards still prevents applications executing at the set-top device from properly executing.
It is with respect to these and other considerations that the present invention has been made.